#define _CRT_SECURE_NO_WARNINGS 1

#include "seqlist.h"

void test1()
{
	SList sl;
	SLInit(&sl);
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SLPrint(&sl);
}


void test2()
{
	SList sl;
	SLInit(&sl);
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SLPrint(&sl);

	SLPopBack(&sl);
	SLPrint(&sl);	
	SLPopBack(&sl);
	SLPrint(&sl);
	SLPopBack(&sl);
	SLPrint(&sl);
	SLPopBack(&sl);
	SLPrint(&sl);
	SLPopBack(&sl);
	SLPrint(&sl);

	SLPushBack(&sl, 4);
	SLPrint(&sl);
}

void test3()
{
	SList sl;
	SLInit(&sl);
	SLPushFront(&sl, 1);
	SLPushFront(&sl, 2);
	SLPushFront(&sl, 3);
	SLPushFront(&sl, 4);
	SLPushFront(&sl, 5);
	SLPrint(&sl);

	SLPopFront(&sl);
	SLPrint(&sl);
	SLPopFront(&sl);
	SLPrint(&sl);
	SLPopFront(&sl);
	SLPrint(&sl);
	SLPopFront(&sl);
	SLPrint(&sl);
	SLPopFront(&sl);
	SLPrint(&sl);
	SLPopFront(&sl);
	SLPrint(&sl);
	SLPopFront(&sl);
	SLPrint(&sl);

	SLPushFront(&sl, 5);
	SLPrint(&sl);
}

void test4()
{
	SList sl;
	SLInit(&sl);
	SLPushFront(&sl, 1);
	SLPushFront(&sl, 2);
	SLPushFront(&sl, 3);
	SLPushFront(&sl, 4);
	SLPushFront(&sl, 5);
	SLPrint(&sl);

	int pos = SLFind(&sl, 3);;
	SLInsert(&sl, pos, 7);
	SLPrint(&sl);

	SLErase(&sl, pos);
	SLPrint(&sl);
	SLErase(&sl, pos);
	SLPrint(&sl);
	SLErase(&sl, pos);
	SLPrint(&sl);
	SLErase(&sl, pos);
	SLPrint(&sl);
	SLErase(&sl, pos);
	SLPrint(&sl);
	SLErase(&sl, pos);
	SLPrint(&sl);
}

int main()
{
	//test1();
	//test2();
	//test3();
	test4();
	return 0;
}